﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QLVatTu.Class;

namespace QLVatTu.DanhMuc
{
    public partial class frmVatTu : Form
    {
        public frmVatTu()
        {
            InitializeComponent();
        }

        KetNoiDB cn = new KetNoiDB();
        string tag = "";
        private bool first;

        private void load_button(string tag)
        {
            if (tag == "them")
            {
                btnThem.Enabled = false;
                btnSua.Enabled = false;
                btnXoa.Enabled = false;

                btnLuu.Enabled = true;
                btnHuy.Enabled = true;

                txtMaVatTu.Enabled = false;
                txtTenVatTu.Text = "";
                txtTenVatTu.Enabled = true;
                cbbNhomVatTu.Enabled = true;
                cbbDonViTinh.Enabled = true;
            }
            else if (tag == "sua")
            {
                btnThem.Enabled = false;
                btnSua.Enabled = false;
                btnXoa.Enabled = false;

                btnLuu.Enabled = true;
                btnHuy.Enabled = true;

                txtMaVatTu.Enabled = false;
                txtTenVatTu.Enabled = true;
                cbbNhomVatTu.Enabled = true;
                cbbDonViTinh.Enabled = true;
            }
            else
            {
                btnThem.Enabled = true;
                btnSua.Enabled = true;
                btnXoa.Enabled = true;

                btnLuu.Enabled = false;
                btnHuy.Enabled = false;

                txtMaVatTu.Enabled = false;
                txtTenVatTu.Enabled = false;
                cbbNhomVatTu.Enabled = false;
                cbbDonViTinh.Enabled = false;
            }
        }

        private void loadData()
        {
            cbbNhomVatTu.DataSource = cn.getTable("select * from tbl_NhomVatTu");
            cbbNhomVatTu.DisplayMember = "TenNhomVatTu";
            cbbNhomVatTu.ValueMember = "MaNhomVatTu";

            cbbTKNhomVatTu.DataSource = cn.getTable("select * from tbl_NhomVatTu");
            cbbTKNhomVatTu.DisplayMember = "TenNhomVatTu";
            cbbTKNhomVatTu.ValueMember = "MaNhomVatTu";

            cbbDonViTinh.DataSource = cn.getTable("select * from tbl_DonViTinh");
            cbbDonViTinh.DisplayMember = "TenDonViTinh";
            cbbDonViTinh.ValueMember = "MaDonViTinh";

            colMaNhomVatTu.DataSource = cn.getTable("select * from tbl_NhomVatTu");
            colMaNhomVatTu.DisplayMember = "TenNhomVatTu";
            colMaNhomVatTu.ValueMember = "MaNhomVatTu";

            colMaDonViTinh.DataSource = cn.getTable("select *from tbl_DonViTinh");
            colMaDonViTinh.DisplayMember = "TenDonViTinh";
            colMaDonViTinh.ValueMember = "MaDonViTinh";

            load_grid();
        }

        private void load_grid(string dieuKien=null)
        {
            string sql = "";
            if (dieuKien != null)
            {
                sql = @"select row_number() over(order by MaVatTu) as STT, * from tbl_VatTu
                        "+ dieuKien;
            }
            else
            {
                sql = @"select row_number() over(order by MaVatTu) as STT,* from tbl_VatTu
                        ";
            }
            DataTable tbl = cn.getTable(sql);
            dtgVatTu.DataSource = tbl;
        }

        private void splitContainer1_Panel1_Paint(object sender, PaintEventArgs e)
        {

        }

        private void groupPanel5_Click(object sender, EventArgs e)
        {

        }

        private void frmVatTu_Load(object sender, EventArgs e)
        {
            load_button(tag);

            if (cn.KetNoi())
            {
                loadData();
            }
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            tag = "them";
            load_button(tag);
            txtMaVatTu.Text = cn.SinhMa("MaVatTu","tbl_VatTu","VT");
            txtTenVatTu.Focus();
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            tag = "sua";
            load_button(tag);
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            load_button("");
        }

        private void btnThoat_Click(object sender, EventArgs e)
        {
            if (this.TopLevel == false) this.Parent.Parent.Controls.Remove(this.Parent);
            else this.Close();
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            if (tag == "them")
            {
                if (txtTenVatTu.Text.ToString().Trim() == "")
                {
                    MessageBox.Show("Bạn chưa nhập tên vật tư.");
                    txtTenVatTu.Focus();
                    return;
                }
                //cn.KetNoi();
                string TenVatTu = cn.LayDuLieu("select TenVatTu from tbl_VatTu where lower(TenVatTu)=N'" + txtTenVatTu.Text.ToLower() + "'");
                if (TenVatTu != "")
                {
                    MessageBox.Show("Tên vật tư đã tồn tại.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    txtTenVatTu.Focus();
                    return;
                }
                cn.Insert_Table("tbl_VatTu", "MaVatTu,TenVatTu,MaDonViTinh,MaNhomVatTu", "'" + txtMaVatTu.Text + "',N'" + txtTenVatTu.Text + "','" + cbbDonViTinh.SelectedValue.ToString() + "','" + cbbNhomVatTu.SelectedValue.ToString() + "'");
                //MessageBox.Show("Thêm mới thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                cn.Update_Table("tbl_VatTu","TenVatTu=N'"+txtTenVatTu.Text+"',MaNhomVatTu='"+cbbNhomVatTu.SelectedValue.ToString()+"',MaDonViTinh='"+cbbDonViTinh.SelectedValue.ToString()+"'","MaVatTu='"+txtMaVatTu.Text+"'");
                //MessageBox.Show("Sửa dữ liệu thành công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            load_button("");
            load_grid();
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            if (dtgVatTu.RowCount > 0)
            {
                DialogResult msg = MessageBox.Show("Bạn có muốn xóa không?","Thông báo",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
                if (msg == DialogResult.Yes)
                {
                    cn.Delete_Table("tbl_VatTu","MaVatTu='"+txtMaVatTu.Text+"'");
                    load_button("");
                    load_grid();
                }
                //MessageBox.Show("Xóa dữ liệu thành công.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }

        private void radLoaiVatLieu_CheckedChanged(object sender, EventArgs e)
        {
           
        }

        private void trvLoaiVatLieu_MouseClick(object sender, MouseEventArgs e)
        {
        }

        private void dtgVatTu_SelectionChanged(object sender, EventArgs e)
        {
            if (dtgVatTu.SelectedRows.Count > 0)
            {
                txtMaVatTu.Text = dtgVatTu.CurrentRow.Cells["colMaVatTu"].Value.ToString();
                txtTenVatTu.Text = dtgVatTu.CurrentRow.Cells["colTenVatTu"].Value.ToString();
                cbbNhomVatTu.SelectedValue = dtgVatTu.CurrentRow.Cells["colMaNhomVatTu"].Value.ToString();
                cbbDonViTinh.SelectedValue=dtgVatTu.CurrentRow.Cells["colMaDonViTinh"].Value.ToString();
            }
        }

        private string XacDinhDieuKienLoc()
        {
            string dieuKienLoc = "where 1=1";

            if (ckbMaVatTu.Checked == true && txtTKMaVatTu.Text.Trim() != "")
            {
                dieuKienLoc += "and tbl_VatTu.MaVatTu like '%"+txtTKMaVatTu.Text.Trim()+"%'";
            }

            if (ckbTenVatTu.Checked == true && txtTKTenVatTu.Text.Trim() != "")
            {
                dieuKienLoc += "and tbl_VatTu.TenVatTu like '%"+txtTKTenVatTu.Text.Trim()+"%'";
            }

            if (ckbNhomVatTu.Checked == true && cbbTKNhomVatTu.Items.Count > 0)
            {
                dieuKienLoc += "and tbl_VatTu.MaNhomVatTu='"+cbbTKNhomVatTu.SelectedValue.ToString()+"'";
            }

            return dieuKienLoc;
        }

        private void ckbLoad_CheckedChanged(object sender, EventArgs e)
        {
            ckbLoad.Checked = false;
            load_grid();
            ckbMaVatTu.Checked = false;
            ckbNhomVatTu.Checked = false;
            ckbTenVatTu.Checked = false;
        }

        private void ckbNhomVatTu_CheckedChanged(object sender, EventArgs e)
        {
            cbbTKNhomVatTu.Enabled = ckbNhomVatTu.Checked;
        }

        private void ckbMaVatTu_CheckedChanged(object sender, EventArgs e)
        {
            if (ckbMaVatTu.Checked == true)
            {
                txtTKMaVatTu.Text = "";
                txtTKMaVatTu.Enabled = true;
            }
            else
            {
                txtTKMaVatTu.Text = "Tìm theo mã vật tư";
                txtTKMaVatTu.Enabled = false;
            }
        }

        private void ckbTenVatTu_CheckedChanged(object sender, EventArgs e)
        {
            if (ckbTenVatTu.Checked == true)
            {
                txtTKTenVatTu.Text = "";
                txtTKTenVatTu.Enabled = true;
            }
            else
            {
                txtTKTenVatTu.Text = "Tìm theo tên vật tư";
                txtTKTenVatTu.Enabled = false;
            }
        }

        private void btnTimKiem_Click(object sender, EventArgs e)
        {
            load_grid(XacDinhDieuKienLoc());
        }
    }
}
